package ae.pcfc.cldos.online.common.delegate;

import java.util.Date;
import java.util.List;

import ae.pcfc.cldos.online.common.vo.ReportRequestVO;
import ae.pcfc.cldos.online.common.vo.report.ReportApplicationVO;
import ae.pcfc.cldos.online.fnp.service.client.vo.FNPReportResponseVO;
import ae.pcfc.cldos.online.report.service.vo.EmployeeMasterReportReqVO;
import ae.pcfc.cldos.online.report.service.vo.EmployeeMasterReportResponseVO;
import ae.pcfc.cldos.online.report.service.vo.EmployeeTransactionMasterReportResponseVO;
import ae.pcfc.cldos.online.report.service.vo.EmployeeTransactionReportReqVO;

/**
 * 
 * @author akhader
 *
 */
public interface ReportDelegate {

	public List<ReportApplicationVO> getApplicationList(ReportRequestVO reportRequestVO);
	/**
	 * @param userName
	 * @param startDate
	 * @param endDate
	 * @param type
	 * @param actual
	 * @return fnpReportResponseVO
	 */
	public FNPReportResponseVO generateClientAccountReport(String userName,Date startDate, Date endDate,String type,boolean actual);
	
	/**
	 * @param employeeMasterReportReqVO
	 * @return
	 */
	public List<EmployeeMasterReportResponseVO> getEmployeeMasterReportData(EmployeeMasterReportReqVO employeeMasterReportReqVO);
	
	/**
	 * @param employeeTransactionReportReqVO
	 * @return
	 */
	public List<EmployeeTransactionMasterReportResponseVO> getEmployeeTransactionReportData(EmployeeTransactionReportReqVO employeeTransactionReportReqVO,String userName);
	
	
}
